package leetcode;

public interface Queue<T> {

    /**
     * 向循环队列插入一个元素。如果成功插入则返回真
     * @param value
     * @return
     */
    public boolean enQueue(T value);

    /**
     * 从循环队列中删除一个元素。如果成功删除则返回真
     * @return
     */
    public boolean deQueue();

    /**
     * 判断队列是否为空
     * @return
     */
    public boolean isEmpty();

    /**
     * 判断队列是否已满
     * @return
     */
    public boolean isFull();

    /**
     * 获取队首元素
     * @return
     */
    public int Front();

    /**
     * 获取队尾元素
     * @return
     */
    public int Rear();
}
